package io.netty.example.study.server.codec;

import io.netty.handler.codec.LengthFieldBasedFrameDecoder;

/**
 * 服务端一次解码器，通过继承 LengthFieldBasedFrameDecoder 解决了 TCP(ByteBuf) 的粘包/半包问题，
 * 然后需要将 ByteBuf 转换成业务数据结构 RequestMessage；
 */
public class OrderFrameDecoder extends LengthFieldBasedFrameDecoder {

    public OrderFrameDecoder() {
        /**
         * maxFrameLength：Integer.MAX_VALUE
         * lengthFieldOffset：0
         * lengthFieldLength：2
         * lengthAdjustment：0
         * initialBytesToStrip（去掉头字段的长度）：2（头字段的长度是 2，去掉）
         */
        super(Integer.MAX_VALUE, 0, 2, 0, 2);
    }

}
